package com.yungu.swift.system.marketing.model.dto;

import com.yungu.swift.base.model.BaseDto;
import com.yungu.swift.base.model.annotation.AbsoluteImgPath;

import java.util.Date;

/**
 * Copyright © 厦门云谷互联信息有限公司 2018-2020 All Right Reserved
 * <p>
 * 弹窗活动业务DTO
 *
 * @author Zerrion
 * @version 1.0.0-RELEASE
 * @since 2018-07-02 11:20
 */
public class MarketingActivityDto extends BaseDto {
    /**
     * 活动标题
     **/
    private String title;
    /**
     * 活动链接
     **/
    private String link;
    /**
     * 投放城市
     **/
    private String cityUuid;
    /**
     * 投放城市
     **/
    private String cityName;
    /**
     * 投放时间开始
     **/
    private Date putInDateOn;
    /**
     * 投放时间结束
     **/
    private Date putInDateOff;
    /**
     * 活动图片
     **/
    @AbsoluteImgPath
    private String img;
    /**
     * 启用状态。0 未启用 1 已启用 2已关闭 3结束
     **/
    private Integer status;
    /**
     * 业务类型（0 全部 1出租车，2专车，3跨城，4快车）
     **/
    private Integer businessType;
    /**
     * 活动展示类型（1弹窗、2通知、3左侧栏底部、4评价标签下部、5启动页）
     **/
    private Integer showType;
    /**
     * 展现量
     **/
    private Integer showCount;
    /**
     * 点击量
     **/
    private Integer clickCount;
    /**
     * 排序
     **/
    private Integer sort;
    /**
     * 公司uuid
     **/
    private String companyUuid;
    /**
     * 代理商uuid
     **/
    private String agentUuid;

    /**
     * 附加字段 — 是否已过期
     */
    private Boolean expired;


    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getLink() {
        return link;
    }

    public void setLink(String link) {
        this.link = link;
    }

    public String getCityUuid() {
        return cityUuid;
    }

    public void setCityUuid(String cityUuid) {
        this.cityUuid = cityUuid;
    }

    public Date getPutInDateOn() {
        return putInDateOn;
    }

    public void setPutInDateOn(Date putInDateOn) {
        this.putInDateOn = putInDateOn;
    }

    public Date getPutInDateOff() {
        return putInDateOff;
    }

    public void setPutInDateOff(Date putInDateOff) {
        this.putInDateOff = putInDateOff;
    }

    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getBusinessType() {
        return businessType;
    }

    public void setBusinessType(Integer businessType) {
        this.businessType = businessType;
    }

    public Integer getShowType() {
        return showType;
    }

    public void setShowType(Integer showType) {
        this.showType = showType;
    }

    public Integer getShowCount() {
        return showCount;
    }

    public void setShowCount(Integer showCount) {
        this.showCount = showCount;
    }

    public Integer getClickCount() {
        return clickCount;
    }

    public void setClickCount(Integer clickCount) {
        this.clickCount = clickCount;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getCompanyUuid() {
        return companyUuid;
    }

    public void setCompanyUuid(String companyUuid) {
        this.companyUuid = companyUuid;
    }

    public String getAgentUuid() {
        return agentUuid;
    }

    public void setAgentUuid(String agentUuid) {
        this.agentUuid = agentUuid;
    }

    public Boolean getExpired() {
        return (putInDateOff==null?new Date():putInDateOff).before(new Date());
    }
}

